/**
 * Clase que implementa la interfaz IElemento.
 * 
 * @author Grupo 3
 * @version 1.0
 */

@SuppressWarnings("all")
public class TElemento implements IElemento {
	Comparable etiqueta;
	Object dato;
	IElemento siguiente;
	
	/**
	 * Constructor que recibe como parametro la etiqueta y el dato.
	 * 
	 * @param etiqueta Etiqueta "clave" del elemento
	 * @param dato Dato que contiene el elemento
	 */
	public TElemento(Comparable etiqueta, Object dato){
		this.etiqueta = etiqueta;
		this.dato = dato;
	}
	
	/**
	 * Getter correspondiente al atributo "etiqueta".
	 * 
	 * @return Retorna el valor del atributo.
	 */
	@Override
	public Comparable getEtiqueta() {
		
		return etiqueta;
	}

	/**
	 * Getter correspondiente al atributo "dato".
	 * 
	 *  @return Retorna el valor del atributo.
	 */
	@Override
	public Object getDatos() {
		return dato;
	}

	/**
	 * Getter correspondiente al atributo "siguiente".
	 * 
	 * @return Retorna el valor del atributo.
	 */
	@Override
	public IElemento getSiguiente() {
		
		return siguiente;
	}

	/**
	 * Setter correspondiente al atributo "siguiente".
	 * 
	 * @param siguiente Valor del atributo.
	 */
	@Override
	public void setSiguiente(IElemento siguiente) {
		this.siguiente = siguiente;
	}
	
	/**
	 * Setter correspondiente al atributo "dato".
	 * 
	 * @param dato Valor del atributo.
	 */
	@Override
	public void setDato(Object dato) {
		this.dato = dato;
	}
}